package com.itcam.cm.common.anno;


import com.itcam.cm.common.exception.GlobalExceptionHandler;
import org.springframework.context.annotation.Import;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 此注解用于指定该注解可以应用的目标类型，这里表示该注解可以应用于类、接口、枚举等类型上
 */
@Target(ElementType.TYPE)
/**
 * 此注解用于指定该注解的保留策略，RUNTIME 表示该注解在运行时仍然保留，可以通过反射机制获取
 */
@Retention(RetentionPolicy.RUNTIME)
/**
 * 此注解用于导入指定的类到 Spring 容器中，这里导入了 GlobalExceptionHandler 类，
 * 意味着使用该注解的地方会自动将 GlobalExceptionHandler 类注册到 Spring 容器中
 */
@Import({GlobalExceptionHandler.class})
/**
 * 自定义注解 EnableGlobaleExceptionHandler，用于启用全局异常处理功能。
 * 当一个类使用了该注解时，会自动将 GlobalExceptionHandler 类注册到 Spring 容器中，
 * 从而使全局异常处理功能生效。
 */
public @interface EnableGlobaleExceptionHandler {
}

